/**
 * Babel配置文件
 * Babel是一个JavaScript编译器，可以将ES6+代码转换为向后兼容的JavaScript版本
 * 这个文件配置了Babel的转换规则和插件
 */
module.exports = {
    /**
     * presets（预设）
     * 预设是一组Babel插件的集合，用于支持特定的语言特性
     */
    presets: [
        /**
         * @vue/cli-plugin-babel/preset
         * Vue CLI提供的预设，包含了Vue项目所需的Babel配置
         * 它会根据browserslist配置自动确定需要的polyfill和语法转换
         */
        '@vue/cli-plugin-babel/preset'
    ],
    /**
     * plugins（插件）
     * 插件用于转换特定的语法或功能
     */
    plugins: [
        /**
         * babel-plugin-import
         * 用于按需引入组件库，减小打包体积
         * 这里配置了Vant组件库的按需引入
         * 
         * 例如：
         * import { Button } from 'vant';
         * 
         * 会被转换为：
         * import Button from 'vant/es/button';
         * import 'vant/es/button/style';
         */
        ['import', {
            libraryName: 'vant', // 指定组件库名称
            libraryDirectory: 'es', // 指定组件所在目录
            style: true // 自动引入组件样式
        }, 'vant']
    ]
} 